#pragma once
#include <QDialog>
#include <QString>
#include "ui_DlgStructure3D.h"
#include <QStringList>
#include "dpgmtracking.h"

class DPGMTracking;
class QTableView;
class QStandardItemModel;

using namespace std;

class DlgStructure3D : public QDialog,
    public Ui::DlgStructure3DClass
{
    Q_OBJECT
    ;

public slots:  
    //void SLT_UpdateTable();
    void SLT_OpenRS();
    void SLT_UpdateTableFromData();
    void SLT_UpdateDataFromTable();
//void SLT_SetRTKPath();
//void SLT_GenRTKCommand();
//void SLT_RunRTKCommand();
//void SLT_SetRTKPathManual();

public:
    DlgStructure3D();
    DlgStructure3D(QWidget *parent);
    ~DlgStructure3D();   
   
    //void UpdateTableDlg(vector<STRUCT_PROPT>& vStructProperty, UPDATE_DIRECTION update_direction);
    void UpdateTableDlgFromData(const vector<STRUCT_PROPT>& vStructProperty);
    void UpdateDataFromTableDlg(vector<STRUCT_PROPT>& vStructProperty);

	//int BuildRTKCommandFilter(); //pull predefined command names that you want. From some preset option file
	//
	//void SetRTKBinPath(QString& strDirPath);
public: 
    DPGMTracking* m_pParent; //to pull 3D images
    
    QStandardItemModel *m_pTableModel;
    QTableView* m_pTableView;

    /*QString m_strDirRTKBin;
    QStringList m_listRTKCommandFilter;
    QString m_strRecentOutputPath;*/

private:
    Ui::DlgStructure3DClass ui;
	
};
